package com.farmer.consultation.service;

import com.farmer.common.entity.ConsultationQa;
import com.farmer.common.result.Result;

/**
 * 咨询问答服务接口
 */
public interface ConsultationService {

    /**
     * 获取咨询问答列表（分页）
     */
    Result<?> getConsultationList(Integer pageNum, Integer pageSize, String category, String questionStatus, Integer isPublic, String keyword);

    /**
     * 根据ID获取咨询详情
     */
    Result<?> getConsultationById(Long consultationId);

    /**
     * 用户提交咨询问题
     */
    Result<?> submitQuestion(ConsultationQa consultation);

    /**
     * 专家回答问题
     */
    Result<?> answerQuestion(Long consultationId, String answerContent, String answerImages);

    /**
     * 更新问题状态
     */
    Result<?> updateQuestionStatus(Long consultationId, String status);

    /**
     * 获取用户的咨询记录
     */
    Result<?> getUserConsultations(Long userId, Integer pageNum, Integer pageSize);

    /**
     * 获取专家的回答记录
     */
    Result<?> getExpertAnswers(Long expertId, Integer pageNum, Integer pageSize);

    /**
     * 增加浏览次数
     */
    Result<?> increaseViewCount(Long consultationId);

    /**
     * 点赞/取消点赞
     */
    Result<?> toggleLike(Long consultationId, Boolean isLike);

    /**
     * 用户评价咨询服务
     */
    Result<?> rateConsultation(Long consultationId, Integer satisfaction);

    /**
     * 获取精选问答
     */
    Result<?> getFeaturedQaList(Integer limit);

    /**
     * 获取咨询统计信息
     */
    Result<?> getConsultationStatistics();
} 